   1 .COUNT THE DOTS
   2 .(C) 1980 L. & M. PORTER
   5 NT=0
   7 H=0;I=0;E=0;O=0
  10 G=0;L=0
  20 R=0;M=0;Q=0;W=0
  30 P=0;B=0;C=0;N=0
  40 clear ;print "input # OF ROUNDS OF COUNTING ?";input X
  44 if X<1goto 40
  45 if X>54NT=3
  46 if X>54print "SMALLER # OF ROUNDS ";print "PLEASE!";NT=0;goto 40
  50 clear ;print "input DIFFICULTY";print ;print "1-HARD  to  500-EASY";input D
  60 if D>500goto 50
  70 if D<1goto 50
  80 clear ;BC=249;FC=7
  90 for A=1to rnd (17)
 100 box rnd (50)-25,rnd (44)-22,1,1,1
 110 next A
 120 for Z=1to D
 130 if TR(1)=1goto 150
 140 next Z
 150 clear ;print Z
 155 if Z=1NT=5;print "DON'T CHEAT BY HOLDING ";print "THE TRIGGER IN";print "NOW, GET READY    GO!";NT=0;goto 80
 160 print "YOUR COUNT?";input K
 170 Q=Q+Z
 175 if K=A-1 I=I+Z
 177 if K#A-1 W=W+Z
 190 if K=(A-1)print "RIGHT!";if K=(A-1) B=B+1
 202 if K=A-1 if A-1>=9 P=ABS(8-(A-1))
 205 if K=A-1 if A-1<9 P=0
 207 if A-1>=9 E=E+1
 208 if K=A-1 H=H+P
 210 if K=(A-1)G=G+(A-1)
 230 if K#(A-1)BC=93;print "SORRY PAL";if K#(A-1) C=C+1
 240 print "DOTS ",#1,A-1
 250 print "RIGHT ",#1,B
 260 print "WRONG ",#1,C
 270 for J=1to 500
 280 next J
 285 BC=249
 290 N=N+1
 300 M=M+(A-1)
 310 R=R+K
 320 if N=Xprint "GAME OVER
 325 O=600-D
 330 L=(600-D)mul X
 340 V=Ldiv Q
 350 F=(Emul (Vdiv 10)+E+B+H+G+(((Omul B)-I)div 10))div 10
 360 if N=Xprint "CORRECT COUNT=",#1,G
 390 if N=Xprint "ADJSTD DFCLTY FCTR=",#1,V,#1,".",(RMmul 10)div Q
 400 if N=Xprint "TOTAL/input ",#1,M,"/",#1,R
 420 if N=Xprint "TIME/USED ",#1,(D+1)mul X,#1,"/",#1,Q
 425 if N=Xif B+G+E+H<25goto 465
 430 if N=Xprint "REACT TIME/CRRCT RND=",#1,Idiv B
 440 if N=Xprint "AVG REACTION TIME/RND=",#1,(W+I)div X
 450 if N=Xprint "ALOTD/USED ",#1,((D+1)mul X)div M,#1,".",(RMmul 10)div M,"/",#1,Qdiv M,#1,".",(RMmul 10)div M
 451 if N=Xprint "USED/CORRECT DOTS=",#1,Qdiv G,#1,".",(RMmul 10)div G
 452 if N=Xprint "for HARD RNDS=",#1,Qdiv (H+(9mul E)),#1,".",(RMmul 10)div (H+(9mul E))
 460 if N=Xprint "# OF HARD RDS=",#1,E," ABS=",#1,Emul B+H+G+(((Omul B)-I)div 10)
 465 if N=X if X<10print "10 RDS + for PRAC. SCORE; TRY AGAIN";goto 480
 470 if N=Xprint "PRAC. SCORE=",#1,F
 472 if F>T T=F
 473 if N=Xprint "HI SCORE=",#1,T
 480 if N=Xinput "SAME=1  NEW=2"U
 490 if N=X if U=1 H=0;I=0;E=0;O=0;G=0;L=0;R=0;M=0;Q=0;W=0;P=0;B=0;C=0;N=0;D=D;X=X;goto 60
 500 if N=Xif U=2goto 10
 510 goto 60
:return ;run 
